package com.xinchuang.domain.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;

/**
 * @TableName test_notice_main_tabale
 */
@TableName(value = "test_notice_main_tabale")
@Data
public class TestNoticeMainTabale implements Serializable {
    /**
     * 标识ID
     */
    @TableId
    private String id;

    /**
     * 试模计划主表ID
     */
    private String parentPlanId;

    /**
     * 试模计划子表ID
     */
    private String parentPlanSubId;

    /**
     * 通知单名称
     */
    private String noteName;

    /**
     * 报告名称
     */
    private String reportName;

    /**
     * 编号
     */
    private String serialNumber;
    /**
     * 版本号
     */
    private String versionId;
    /**
     * 试模版本
     */
    private String testVersionId;
    /**
     * 试模目的
     */
    private String targetId;
    /**
     * 副试模目的
     */
    private String subTarget;
    /**
     * 试模原因
     */
    private String tryOutReasonId;
    /**
     * 试模设备
     */
    private String tryOutDeviceId;

    /**
     * 试模注意事项有无特殊要求
     */
    private String announcements;

    /**
     * 注意事项上传图片路径
     */
    private String announcementsImages;

    /**
     * 拟制人
     */
    private String projectManager;

    /**
     * 审核
     */
    private String checkoutName;

    /**
     * 批准
     */
    private String approval;

    /**
     * 通知单状态
     */
    @TableField(value = "status", fill = FieldFill.INSERT)
    private String status = "0";

    /**
     * 试模单位
     */
    private String tryOutCompanyId;
    /**
     * 试模类型
     */
    private String tryOutTypeId;
    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 试模次数
     */
    private Integer tryOutTimes;


    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更改时间
     */
    private Date updateTime;

    /**
     * 提交时间
     */
    private Date submitTime;

    /**
     * 审核时间
     */
    private Date auditTime;

    /**
     * 批准时间
     */
    private Date approvalTime;

    /**
     * 实际试模工
     */
    private String tongmanName;

    /**
     * 审批工单
     */
    private String approvalNumber;

    /**
     * 用户ID
     */
    private Integer tongman;

    /**
     * 版次
     */
    private Integer edition;

    /**
     * 试模版次
     */
    private Integer editionNotice;

    /**
     * 报告ID
     */
    private String reportId;

    public TestNoticeMainTabale() {
    }

    public TestNoticeMainTabale(String id, String parentPlanId, String parentPlanSubId, String noteName, String serialNumber, String versionId, String targetId, String subTarget, String tryOutReasonId, String announcements, String announcementsImages, String projectManager, String checkoutName, String approval, String status, String tryOutCompanyId, String tryOutTypeId, String tryOutDeviceId, String projectName, Date createTime, Date updateTime, Date submitTime, Date auditTime, Date approvalTime, Integer tongman) {
        this.id = id;
        this.parentPlanId = parentPlanId;
        this.parentPlanSubId = parentPlanSubId;
        this.noteName = noteName;
        this.serialNumber = serialNumber;
        this.versionId = versionId;
        this.targetId = targetId;
        this.subTarget = subTarget;
        this.tryOutReasonId = tryOutReasonId;
        this.announcements = announcements;
        this.announcementsImages = announcementsImages;
        this.projectManager = projectManager;
        this.checkoutName = checkoutName;
        this.approval = approval;
        this.status = status;
        this.tryOutCompanyId = tryOutCompanyId;
        this.tryOutTypeId = tryOutTypeId;
        this.tryOutDeviceId = tryOutDeviceId;
        this.projectName = projectName;
        this.createTime = createTime;
        this.updateTime = updateTime;
        this.submitTime = submitTime;
        this.auditTime = auditTime;
        this.approvalTime = approvalTime;
        this.tongman = tongman;
        this.edition = 0;
        this.editionNotice = 1;
    }
}